<template>
	<view>
		<u-navbar title="登录" title-color="#FFF" :background="navBackground" :is-fixed="true" :border-bottom="false" :is-back="true" back-icon-color="#FFF"></u-navbar>
		<image src="/static/img/img/logo_t.png" mode="widthFix" class="d-block logo z-fixed margin-auto"></image>
		<view class="btn d-flex-center z-fixed margin-auto" @click="wxLogin" v-if="showBtn"><text>微信一键登录</text></view>
	</view>
</template>

<script>
export default {
	data() {
		return {
			navBackground: this.$navBackground,
			showBtn: false
		};
	},
	onLoad() {
		this.checkUser();
	},
	methods: {
		// 检测用户是否已注册
		checkUser() {
			uni.login({
				provider: 'weixin',
				success: res => {
					if (res.code) {
						this.$cloudApi.call({
							name: 'login',
							data: {
								code: res.code
							},
							success: res => {
								if (res.token) {
									uni.setStorageSync('userInfo', res.userInfo);
									uni.reLaunch({
										url:'/pages/index/index'
									})
								} else {
									this.showBtn = true;
								}
							}
						});
					} else {
						this.$tools.showToast('code获取失败');
						return;
					}
				},
				fail: err => {
					this.$tools.showToast('code获取失败');
					return;
				}
			});
		},
		// 微信登录
		wxLogin() {
			let _this = this;
			let code;
			uni.login({
				provider: 'weixin',
				success: res => {
					if (res.code) {
						code = res.code;
					} else {
						this.$tools.showToast('code获取失败');
						return;
					}
				},
				fail: err => {
					this.$tools.showToast('code获取失败');
					return;
				}
			});
			uni.getUserProfile({
				desc: '用户信息，拿来吧你！',
				lang: 'zh_CN',
				success: res => {
					uni.showLoading();
					let data = res.userInfo;
					data.code = code;
					// 不上传微信头像至云存储直接使用微信头像地址
					_this.$cloudApi.call({
						name: 'login',
						data,
						success: res => {
							uni.setStorageSync('userInfo', data);
							uni.reLaunch({
								url:'/pages/index/index'
							})
						}
					});
					// 上传微信头像至云存储
					// uni.getImageInfo({
					// 	src: data.avatarUrl,
					// 	success(image) {
					// 		// 上传头像到云存储
					// 		uniCloud.uploadFile({
					// 			filePath: image.path,
					// 			cloudPath: Date.now() + '.' + image.type,
					// 			success(uploadRes) {
					// 				data.avatarUrl = uploadRes.fileID;
					// 				_this.$cloudApi.call({
					// 					name: 'login',
					// 					data,
					// 					success: res => {
					// 						uni.setStorageSync('userInfo', res.userInfo);
					// 						uni.navigateBack();
					// 					}
					// 				});
					// 			},
					// 			fail(err) {
					// 				uni.hideLoading();
					// 				_this.$tools.showToast('头像上传失败');
					// 			}
					// 		});
					// 	},
					// 	fail(err) {
					// 		uni.hideLoading();
					// 		_this.$tools.showToast('获取微信头像失败');
					// 	}
					// });
				},
				fail: err => {
					this.$tools.showToast('嗯？没拿到用户信息...');
				}
			});
		}
	}
};
</script>

<style lang="scss">
page {
	background: #ffffff;
}
.logo {
	width: 200rpx;
	top: 400rpx;
	left: 0;
	right: 0;
}
.btn {
	height: 90rpx;
	border-radius: 45rpx;
	background: $tian-main-color;
	font-size: 28rpx;
	line-height: 40rpx;
	color: #ffffff;
	font-weight: bold;
	bottom: 200rpx;
	left: 32rpx;
	right: 32rpx;
}
</style>
